This invention relates generally to human/computer interfaces, and more particularly to human/computer interfaces with force feedback that can operate over a network.
The Internet has, of late, become extremely popular. While the use of the Internet has been prevalent for many years now, its use has been limited by the arcane and difficult commands required to access the various computers on the network. To address this problem, a protocol known as the “World Wide Web” or “WWW” was developed to provide an easier and user-friendlier interface for the Internet. With the World Wide Web, an entity having a domain name creates a “web page” or “page” which can provide information and, to a limited degree, some interactivity.
A computer user can “browse”, i.e. navigate around, the WWW by utilizing a suitable web browser and a network gateway (e.g., an Internet Service Provider (ISP)). Currently, popular web browsers, include Netscape® Navigator® made by Netscape Corporation of Mountain View, Calif., and Internet Explorer made by Microsoft® Corporation of Redmond, Wash. A web browser allows a user to specify or search for a web page on the WWW, and then retrieves and displays web pages on the user's computer screen.
The Internet is based upon a transmission protocol known as “Transmission Control Protocol/Internet Protocol” (or “TCP/IP” for short), which sends “packets” of data between a host machine, e.g. a server computer on the Internet, and a client machine, e.g. a user's personal computer connected to the Internet. The WWW is an Internet interface protocol which is supported by the same TCP/IP transmission protocol. Intranets are private networks based upon Internet standards; since they adhere to Internet standards, can often use the same web browser software and web server software as are used on the Internet.
A web page typically includes static images, animated images (e.g. video), and/or text. The images and text are specified in a “HyperText Mark-up Language” (“HTML”) file that is sent from the web server to the client machine. This HTML file is parsed by the web browser in order to display the text and images on the display of the client machine. Other standardized languages or protocols are also being developed for use with the Internet and the World Wide Web. For example, the Virtual Reality Modeling Language (VRML) is used to provide visual virtual 3-D environments and allow one or many users to navigate through and interact as “avatars” in such an environment using a web browser or other software on a client computer system.
Furthermore, additional functionality may be provided in web pages with information downloaded over the WWW in the form of scripts or programs. Scripting, typically in the form of VBScript or JavaScript, allows a series of instructions to be performed on the client computer once the instructions have been downloaded in a web page. Programs can be provided in such standard languages as Visual Basic, C++, or currently in the form of Java “applets” or ActiveX® controls. Java includes a platform-independent interpreter running on the client machine that executes downloaded applets within web pages or other programs, e.g., to display animated images, retrieve data over the WWW, output feedback to the user, or perform operating system tasks. ActiveX controls similarly execute on the client computer once the program instructions are resident on the client. ActiveX controls are programmable objects that can be embedded into Web pages and may be written in any (platform-specific) language. Java and ActiveX controls can add functionality to a Web page that would normally be difficult, or even impossible, using HTML or scripting languages. ActiveX controls can also be controlled with a scripting language. Alternatively, functionality can be added to a web page through the use of “plug-ins”, which are application programs running in conjunction with certain web browsers to parse plug-in-specific code in the web page which the browser cannot understand.
Other WWW-related functionality includes Dynamic HTML. Dynamic HTML is a set of features currently incorporated in browsers such as Microsoft Internet Explorer that enable authors to dynamically change the rendering and content of an HTML document. Using Dynamic HTML, a content developer or programmer can access the attributes of a document's contents or objects (such as an object's position on the page and type). In addition, event messages are generated when a user interacts with the web page content (such as when a user clicks on a graphical button image). The features of Dynamic HTML can be elicited through the use of VBScript or JavaScript scripts embedded in a Web page or programmatically through Visual Basic or C++.
The Internet and the WWW also permit sound data to be transmitted over the Internet. For example, references to sound files can be embedded in HTML pages and can be played by the web browser. Data “packets” coded in TCP/IP format can also be sent from one client machine to another over the Internet to transmit sound data. This last-mentioned technique forms the basis for Internet telephony.
While the transmission of visual images (both static and dynamic), text, and sound over the Internet is well-known, the transmission of other types of sensory data has not been well explored. In particular, the transmission of data over the Internet pertaining to the sense of touch and/or force has not been established. “Force feedback” allows a user to experience or “feel” tactile sensations as provided through computational information. Using computer-controlled actuators and sensors on a force feedback device, a variety of realistic sensations can be modeled and experienced by the user. This useful and highly immersive sensory modality for interacting with the Internet has hereto been unavailable.
In addition, there needs to be tools to allow web page authors to quickly and easily add forces to web page content or adjust/modify existing forces as desired. Such tools should preferably allow an author or user to intuitively include forces in web pages without needing a knowledge of force feedback instructions or programming constructs. In addition, the author should be provided with an intuitive way to design or adjust the forces. Thus, a tool is needed for assisting the user, programmer or developer in intuitively and easily creating web pages and in setting force feedback characteristics to provide desired force sensations in web pages.